In [1]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import os
import sys
sys.path.append("../lib/")
sys.path.append("../multi_city_restriction_pol/")
sys.path.append("../optimization/")
sys.path.append("../optimization_result_ana/")
sys.path.append("../pol_est_sim/")
sys.path.append("../multi_city_penetration/")
sys.path.append("../IBTDM_multi_city/")
sys.path.append("../congestion_pricing/")
sys.path.append("../random_induce/")
from datetime import datetime, timezone, timedelta
from matplotlib import ticker
import copy
import time, datetime
import get_opt_trips
import spilt_trips
import subset_merge
import netload_ana
import get_dis_after_policy
import get_trips_distribution
import simu_traffic
import get_OD_after_pol
import sample_trips
import get_dis_after_congestion_pricing
import random_ind_pol1
import ind_vis
import random_ind_pol_simu
import importlib
importlib.reload(spilt_trips)
importlib.reload(subset_merge)
importlib.reload(netload_ana)
importlib.reload(get_dis_after_policy)
importlib.reload(get_trips_distribution)
importlib.reload(simu_traffic)
importlib.reload(get_OD_after_pol)
importlib.reload(sample_trips)
importlib.reload(get_dis_after_congestion_pricing)
importlib.reload(random_ind_pol1)
importlib.reload(ind_vis)
importlib.reload(random_ind_pol_simu)
from collections import defaultdict
import random
Hangzhou¶
The logic and methods of analyzing the seven cities are completely identical, and the results of Hangzhou are mainly presented here.
In [2]:
# 诱导的时间阈值为1个time slots,即15min
random_ind_pol1.induce.get_trip_file_diff_samplerate(sample_list=[0.05,0.1,0.2,0.3,0.4,0.5],time_thre=1,
OD_file="../../data/ODFile/OD_425_10_percent.csv",
save_file_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_15/",
ts=15,time_start_morn=25200,time_end_morn=32400,time_start_even=59400,time_end_even=66600)
# 诱导的时间阈值为2个time slots,即30min
random_ind_pol1.induce.get_trip_file_diff_samplerate(sample_list=[0.05,0.1,0.2,0.3,0.4,0.5],time_thre=2,
OD_file="../../data/ODFile/OD_425_10_percent.csv",
save_file_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_30/",
ts=15,time_start_morn=25200,time_end_morn=32400,time_start_even=59400,time_end_even=66600)
get_dis_after_policy.trip_dis.get_random_ind_free_speed_trip_file(random_ind_trip_file_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_15/",
OD_file_with_free_speed="../../data/simu_pol_eva_data/OD_with_freespeed_0425.csv",
data_save_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_15_result/adjust_diff_sample_15/")
get_dis_after_policy.trip_dis.get_distribution_ran_ind(OD_free_speed_file_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_15_result/adjust_diff_sample_15/",
output_file_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_15_result/adjust_15_trip_distribution/",ts=15)
random_ind_pol_simu.ran_ind_simu.start(trip_dis_file_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_15_result/adjust_15_trip_distribution/",
v_n_rela_file="../../data/simu_pol_eva_data/mfdresult_newell.npy",
free_speed=39.80,ts=15,
data_save_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_15_result/adjust_15_pol_eva_result/")
random_ind_pol_simu.ran_ind_simu.sample_rate_pol_eva_result_vis(simu_result_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_15_result/adjust_15_pol_eva_result/",
speed_load_file="../../data/simu_pol_eva_data/SimulationHangzhouTrafficState.csv",
data_save_file="../../data/multi_city_SSP/Hangzhou/adjust_15_simu_traffic_state.csv")
get_dis_after_policy.trip_dis.get_random_ind_free_speed_trip_file(random_ind_trip_file_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_30/",
OD_file_with_free_speed="../../data/simu_pol_eva_data/OD_with_freespeed_0425.csv",
data_save_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_30_result/adjust_diff_sample_30/")
get_dis_after_policy.trip_dis.get_distribution_ran_ind(OD_free_speed_file_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_30_result/adjust_diff_sample_30/",
output_file_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_30_result/adjust_30_trip_distribution/",ts=15)
random_ind_pol_simu.ran_ind_simu.start(trip_dis_file_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_30_result/adjust_30_trip_distribution/",
v_n_rela_file="../../data/simu_pol_eva_data/mfdresult_newell.npy",
free_speed=39.80,ts=15,
data_save_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_30_result/adjust_30_pol_eva_result/")
random_ind_pol_simu.ran_ind_simu.sample_rate_pol_eva_result_vis(simu_result_path="../../data/multi_city_SSP/Hangzhou/adjust_diff_sample_30_result/adjust_30_pol_eva_result/",
speed_load_file="../../data/simu_pol_eva_data/SimulationHangzhouTrafficState.csv",
data_save_file="../../data/multi_city_SSP/Hangzhou/adjust_30_simu_traffic_state.csv")
正在处理抽样率0.05
../random_induce\random_ind_pol1.py:51: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy df_adj_sample['delay'] = -time_thre ../random_induce\random_ind_pol1.py:56: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy df_adj_other['delay'] = 0 ../random_induce\random_ind_pol1.py:57: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy df_other['delay'] = 0
抽样率0.05下早高峰已完成随机诱导
../random_induce\random_ind_pol1.py:85: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy df_adj_sample['delay'] = time_thre
正在处理抽样率0.1 抽样率0.1下早高峰已完成随机诱导 正在处理抽样率0.2 抽样率0.2下早高峰已完成随机诱导 正在处理抽样率0.3 抽样率0.3下早高峰已完成随机诱导 正在处理抽样率0.4 抽样率0.4下早高峰已完成随机诱导 正在处理抽样率0.5 抽样率0.5下早高峰已完成随机诱导 正在处理抽样率0.05 抽样率0.05下早高峰已完成随机诱导 正在处理抽样率0.1 抽样率0.1下早高峰已完成随机诱导 正在处理抽样率0.2 抽样率0.2下早高峰已完成随机诱导 正在处理抽样率0.3 抽样率0.3下早高峰已完成随机诱导 正在处理抽样率0.4 抽样率0.4下早高峰已完成随机诱导 正在处理抽样率0.5 抽样率0.5下早高峰已完成随机诱导 正在处理adj_trips_10.csv文件. 79827 79827 正在处理adj_trips_20.csv文件. 79827 79827 正在处理adj_trips_30.csv文件. 79827 79827 正在处理adj_trips_40.csv文件. 79827 79827 正在处理adj_trips_5.csv文件. 79827 79827 正在处理adj_trips_50.csv文件. 79827 79827 正在处理adj_trips_10.csv文件. 正在处理adj_trips_20.csv文件. 正在处理adj_trips_30.csv文件. 正在处理adj_trips_40.csv文件. 正在处理adj_trips_5.csv文件. 正在处理adj_trips_50.csv文件. 正在处理adj_trips_10.npy文件.
正在处理adj_trips_20.npy文件.
正在处理adj_trips_30.npy文件.
正在处理adj_trips_40.npy文件.
正在处理adj_trips_5.npy文件.
正在处理adj_trips_50.npy文件.
正在处理adj_trips_10.csv文件. 79827 79827 正在处理adj_trips_20.csv文件. 79827 79827 正在处理adj_trips_30.csv文件. 79827 79827 正在处理adj_trips_40.csv文件. 79827 79827 正在处理adj_trips_5.csv文件. 79827 79827 正在处理adj_trips_50.csv文件. 79827 79827 正在处理adj_trips_10.csv文件. 正在处理adj_trips_20.csv文件. 正在处理adj_trips_30.csv文件. 正在处理adj_trips_40.csv文件. 正在处理adj_trips_5.csv文件. 正在处理adj_trips_50.csv文件. 正在处理adj_trips_10.npy文件.
正在处理adj_trips_20.npy文件.
正在处理adj_trips_30.npy文件.
正在处理adj_trips_40.npy文件.
正在处理adj_trips_5.npy文件.
正在处理adj_trips_50.npy文件.
In [ ]: